/**
 * 账单实体查询对象类型
 */
export interface BillEntityPageQuery extends PageQuery {
  keywords?: string;
  status?: number;
  types?: string[];
}

export interface BillEntityQuery {
  keywords?: string;
  status?: number;
  types?: string[];
  parentId?: number;
}

/**
 * 账单实体查询对象类型
 */
export interface BillEntityGroupQuery {
  groupType?: string;
  types?: string[];
  parentId?: number;
}

/**
 * 账单实体分页对象
 */
export interface BillEntityPageVO {
  /**
   * 创建时间
   */
  createTime?: Date;
  /**
   * 账单实体ID
   */
  id: number;
  /**
   * 账单实体Tag名称，多个使用英文逗号(,)分割
   */
  tagNames?: string;
  /**
   * 账单实体名
   */
  name: string;

  fromNum?: number;
  toNum?: number;

  type?: string;

  /**
   * 父部门ID
   */
  parentId?: number;
  /**
   * 排序
   */
  sort?: number;
  /**
   * 状态(1:启用；0:禁用)
   */
  status?: number;
  /**
   * 修改时间
   */
  updateTime?: Date;
}

/**
 * 账单实体分页对象
 */
export interface BillEntityVO extends BillEntityPageVO {
  /**
   * 子部门
   */
  children: BillEntityVO[];
  allToNum?: number;
  allFromNum?: number;
}

/**
 * 账单实体表单类型
 */
export interface BillEntityForm {
  id?: number;
  /**
   * 账单tagID集合
   */
  billTagIds?: number[];
  /**
   * 账单实体名
   */
  name?: string;
  type?: string;
  /**
   * 父部门ID
   */
  parentId: number;
  /**
   * 排序
   */
  sort?: number;
  /**
   * 状态(1:启用；0：禁用)
   */
  status?: number;
}

export interface BillByMonthVO {
  entityName: string;
  entityId: string;
  entityType: string;
  num: number;
  /**
   * 账单实体Tag名称，多个使用英文逗号(,)分割
   */
  tagNames?: string;
  theMonth: string;
}

export interface BillEntityGroupByDateVO {
  name: string;
  id: number;
  type: string;
  num: number;
  /**
   * 账单实体Tag名称，多个使用英文逗号(,)分割
   */
  tagNames?: string;
  date: string;
  parentId: number;
  treePath: string;
}
